home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume15 / mush6.3kit / part01 next >
Encoding:
Internet Message Format  |  1988-07-06  |  10.9 KB

  1. Subject:  v15i085:  Mush (mail user's shell) upgrade kit, version 6.3, Part01/04
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rsalz@uunet.UU.NET
  5.  
  6. Submitted-by: dheller@cory.Berkeley.EDU (Dan Heller)
  7. Posting-number: Volume 15, Issue 85
  8. Archive-name: mush6.3kit/part01
  9.  
  10. This is the upgrade kit for Mush, bringing it to release 6.3.  There is
  11. a README, then three files that comprise one set of diffs.
  12.  
  13. #! /bin/sh
  14. # This is a shell archive.  Remove anything before this line, then unpack
  15. # it by saving it into a file and typing "sh file".  To overwrite existing
  16. # files, type "sh file -c".  You can also feed this as standard input via
  17. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  18. # will see the following message at the end:
  19. #        "End of shell archive."
  20. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  21. if test -f 'README-6.3' -a "${1}" != "-c" ; then 
  22.   echo shar: Will not clobber existing file \"'README-6.3'\"
  23. else
  24. echo shar: Extracting \"'README-6.3'\" \(9663 characters\)
  25. sed "s/^X//" >'README-6.3' <<'END_OF_FILE'
  26. X
  27. XThe file, "README" is always being updated for brand new users on how
  28. Xto install mush for the first time.  It can be referenced for earlier
  29. Xinfo as well as previous README's.  A new README-<versionID> file (like
  30. Xthis one) will accompany each new upgrade.
  31. X
  32. XFor those who wish to be on the mush-users mailing list, please
  33. Xsend requests to:
  34. X    mush-users-request@garp.mit.edu
  35. XI do not maintain this list, so don't mail me.
  36. XThis mailing list discusses mush usage, internals, portability to new
  37. Xhardware or non-standard unix systems, future updates/enhancments,
  38. Xand exchange of general info.  Since mush works on all flavors of
  39. Xunix from bsd to sys-v and has three different user interfaces, the
  40. Xgroup of subscribers is quite diverse.  For those who are very
  41. Xinterested in influencing the X interface, now is the time to get
  42. Xyour opinions in for disucussion before it's too late.
  43. X
  44. XNew compiler defines:
  45. X    DOT_LOCK
  46. X    Define this if you want mush to use .lock to lock your mbox for
  47. X    updates.  See very last section of this file for detailed info.
  48. X
  49. X    UUCP
  50. X    This should be defined if your MTA does not automatically create a
  51. X    From: header *and* your machine talks to other computers via uucp
  52. X    (probably true for default xenix/sys-v systems).
  53. X
  54. X    NO_COMMAS
  55. X    This should be defined if your mailer does *NOT* like commas
  56. X    between addresses on its command line.  Last I heard, smail is
  57. X    like this as well as default xenix/sys-v mail transport agents.
  58. X    (This used to be defined by OLD_MAILER.)
  59. X
  60. X    Note: if your MTA is "smail", OLD_MAILER should _not_ be set, but
  61. X    NO_COMMAS should be set.  That is as of this release date.
  62. X
  63. X    SIGRET
  64. X    This is defined to be "int" by default.  If your signal() returns
  65. X    void, SIGRET should be defined to be "void".  This mostly applies
  66. X    to SVR3.
  67. X
  68. X    For any of these defines, you do one of two things:
  69. X    (UUCP used as example)
  70. X    1) add -DUUCP in your makefile
  71. X    2) In config.h, add a line which reads:
  72. X       #define UUCP
  73. X
  74. X    For SIGRET, use either "-DSIGRET=void" or "#define SIGRET void"
  75. X
  76. XNew variables:
  77. X    realname (string)
  78. X    Set to the user's real name by:
  79. X    1) The user's real name is gotten from the environment variable NAME.
  80. X    2) The gecos field in the password file
  81. X    Once mush has been started, this name can only be reset by changing
  82. X    the value of realname -- not by changing 1 or 2 above.
  83. X
  84. X    hostname (string)
  85. X    The hostname is automatically set by the system, but if circumstances
  86. X    make this impossible or the hostname is wrong, the user can reset this.
  87. X    See the manual under the VARIABLES section for more info.
  88. X    Important Note to sys-v'ers who can't get their hostname from utsname(2)
  89. X    (xenix, more?), the hostname should probably be set in the default Mailrc
  90. X    defined in config.h.   "set hostname=whatever"
  91. X
  92. X    save_empty (boolean)
  93. X    If set, folders which have all messages deleted are not removed on
  94. X    updates or change folder commands.  The folder is left at zero length.
  95. X    Note, this does not affect the spool mailbox; it is never removed on
  96. X    updates.
  97. X
  98. X    date_received (boolean)
  99. X    If set, message headers are printed with the date received rather than
  100. X    the date sent.  This affects the sorting command; when sorting by date,
  101. X    this variable is checked.
  102. X
  103. XMisc:
  104. X    Addresses that have long uucp paths from the sender would be so long
  105. X    that the "important" part of the path --which includes the sender's
  106. X    login and machine name, found at the tail end of the address, would
  107. X    be cut off.  Such addresses are now shifted to the right if the whole
  108. X    address cannot fit in the specified padding requested by the user.
  109. X    This affects the hdr_format modifiers %a and %f.  If the addresses
  110. X    are shorter than the speicified width, there is no change:
  111. X    set hdr_format = "%11a"  # show no more than 11 chars of address
  112. X    If the address is:
  113. X    sun!island!argv
  114. X    then the result will be:
  115. X    island!argv
  116. X    (previously, you'd get "sun!island!" losing the "argv" at the end.)
  117. X
  118. X    Initialization file now udnerstands:
  119. X    if -e filename
  120. X    and
  121. X    if -z filename
  122. X    to test to see if a filename (folder) exists (-e) or zero-length (-z).
  123. X
  124. X    Added SAVED flag to message status.  If a message is saved,
  125. X    this flag is set rather than the DELETE flag.  Messages which
  126. X    have been saved are marked with an 'S' in the status field.
  127. X    All commands which deal with message status have been modified
  128. X    to support this new flag (sort, headers (-H:s), etc...)
  129. X
  130. X    $cdpath can now be read from the environment.  that is, it understands
  131. X    the ':' as a path separator now.
  132. X
  133. X    ":p" can be used to select "preserved" messages.  This adds to the
  134. X    list of :c commands which select messages of status "c". headers -?
  135. X    for more info.
  136. X
  137. Xmain.c --
  138. X    fixed up helpfile assignments for toolmode and removed useless
  139. X    warning messages.
  140. X
  141. X    ignore sigpipe in main() instead of in do_loop().  This fixes the
  142. X    bug where you mail someone without entering the shell and ~p to
  143. X    page your message.
  144. X
  145. Xmail.c --
  146. X    Some mailers don't add the From: header.  Previous versions of
  147. X    mush would add for these machines:
  148. X    From: login
  149. X    Now, the user's real name is added in parens.  Also, if UUCP is
  150. X    defined, the From: line will look like:
  151. X    From: host!user (Real Name)
  152. X    If uucp is not defined:
  153. X    From: user@host (Real Name)
  154. X    This is mostly for uucp systems, so when the user mails to remote
  155. X    sites, the From: line should be correct for accurate replies.
  156. X
  157. X    If fork() failed in toolmode, the error message is no longer
  158. X    overwritten before the user knew the mail couldn't not be sent.
  159. X
  160. X    ~? now uses the internal pager so the help doesn't scroll off the screen.
  161. X
  162. X    The command: "r addr" to reply to a message and add a new address
  163. X    at the same time no longer removes the last character in the first address
  164. X    before adding the new address.
  165. X
  166. X    If autosign has \n's or \t's embedded in the string, they are now
  167. X    expanded to newlines and tabs respectively.  This is also true for
  168. X    using ~$variable to print a variable's value into a letter buffer.
  169. X    For example, the command:
  170. X    set autosign = "\Dan Heller\nisland!argv@sun.com"
  171. X    will cause all outgoing letters to be signed with:
  172. X
  173. X    -- 
  174. X    Dan Heller
  175. X    island!argv@sun.com
  176. X
  177. Xcurses.c --
  178. X    fixed scrn_line() (screen-line: get a line from the screen) so
  179. X    that the following expression is evaluated correctly:
  180. X    changed:
  181. X        if ((buf = mvinch(line, n) & A_CHARTEXT) == '\0')
  182. X    to:
  183. X        if ((buf[n] = (mvinch(line, n) & A_CHARTEXT)) == '\0')
  184. X
  185. Xloop.c --
  186. X    disp_hist() (display history) no longer core dumps if the history
  187. X    command was given from the curses mode using ':' and there was no
  188. X    history created yet.
  189. X
  190. Xdoproc.c (suntools only) --
  191. X    The save menu item would prompt to save in ~/mbox for both the
  192. X    first and second menu items rather than just the first menu item.
  193. X    The result was that you couldn't save to the file described by
  194. X    the second menu item.
  195. X
  196. Xcommands.c --
  197. X    save_msg() modified to support SAVED flag.  Messages are not
  198. X    deleted, but marked saved.  When updating folder, keep_save is
  199. X    checked, and if not set, saved messages are deleted.
  200. X
  201. Xmsgs.c --
  202. X    changed lockf()'s last argument from 0 to 0L.
  203. X
  204. Xmisc.c --
  205. X    Sprintf() (for SYSV) has been modified to correctly deal with
  206. X    varargs.  Sorry, the stuff in print.c still isn't, but someday...
  207. X    Nevertheless, there are currently no bugs known or reported that
  208. X    concern anything in print.c
  209. X
  210. X    The internal pager now works with the -e flag (happy _now_ dave?)
  211. X
  212. Xpick.c --
  213. X    picking patterns no longer requires the pattern to be in quotes
  214. X    if it contains spaces.  You may now specify:
  215. X    pick -f -i dan heller
  216. X    This example will find messages from "Dan Heller" (-i ignores case).
  217. X
  218. XWhat "dot-lock" is and why you may need it...
  219. X
  220. X    When mush updates your mailbox, it needs to lock it so that if new
  221. X    mail is being delivered at the same time, it will wait till mush
  222. X    is done.  Or, if the mail is there first, mush should wait before
  223. X    attempting to lock the file.  This should theoretically prevent new
  224. X    mail from getting lost.  But...
  225. X      Different systems use different locking mechanisms.  By default,
  226. X    mush uses one of flock(), locking(), or lockf() (depending on your
  227. X    system).  Some  systems use a file called the same name as the file
  228. X    you're locking with an appended ".lock" at the end (some Xenix's use
  229. X    /tmp/$USER.mlk).
  230. X      If you define DOT_LOCK, mush will try to lock the mailbox using
  231. X    first check for the .lock file.  If it exists, it loops until it
  232. X    goes away and then it creates it mode 600.  Regardless of whether you
  233. X    use dot-locking, mush will continue to try to use flock(), or whatever.
  234. X      dot-locking requires mush to have write access to the directory where
  235. X    your mailbox exists.  Normally, this directory isn't writeable by the
  236. X    average user, so you may have to sgid mush to do this to the group id
  237. X    of the owner of that directory. Mush will get the effective gid at the
  238. X    beginning of the program and immediately reset it to your real gid until
  239. X    the time it needs to lock the file occurs.  It changes back to the sgid,
  240. X    locks, then returns to normal.  There shouldn't be a security problem.
  241. X      If you don't know what I'm talking about here, ignore DOT_LOCK
  242. X    as this is the first attempt at such locking methods and is likely
  243. X    to change.
  244. X      Another warning is that some MTA's don't even follow their own protcol.
  245. X    System V, it has been reported, creates the .lock file without checking
  246. X    to see if it exists (therefore ruining someone else's lock).
  247. X
  248. END_OF_FILE
  249. if test 9663 -ne `wc -c <'README-6.3'`; then
  250.     echo shar: \"'README-6.3'\" unpacked with wrong size!
  251. fi
  252. # end of 'README-6.3'
  253. fi
  254. echo shar: End of shell archive.
  255. exit 0
  256.